#ifndef XFRAMEWORK_INCLUDE
#define XFRAMEWORK_INCLUDE

/************************************************************************/
/*    Author: Scott Bevin                                               */
/************************************************************************/

#include <string>

const std::string CONFIG_FILES = "..\\Common\\";//chris
#include "XFrameworkTypedefsAndDefines.h"

// main
#include "Application.h"

//delegates
#include "Event.h"
#include "XDelegates/Delegate.h"

//entity components
#include "XEntityComponents/EntityComponentFactory.h"
#include "XEntityComponents/EntityComponentMaker.h"
#include "XEntityComponents/EntityComponent.h"

//Game entities
#include "XGameEntities/GameEntity.h"
#include "XGameEntities/GameEntityManager.h"

//input
#include "XInput/Input.h"
#include "XInput/OISInput.h"

//messaging
#include "XMessaging/Messenger.h"

//propertys
#include "XPropertys/PropertyContainer.h"
#include "XPropertys/PropertyFactory.h"
#include "XPropertys/PropertyMaker.h"
#include "XPropertys/XPropertyTypes/BoolProperty.h"
#include "XPropertys/XPropertyTypes/DoubleProperty.h"
#include "XPropertys/XPropertyTypes/FloatProperty.h"
#include "XPropertys/XPropertyTypes/IntProperty.h"
#include "XPropertys/XPropertyTypes/StringProperty.h"
#include "XPropertys/XPropertyTypes/UnsignedIntProperty.h"
#include "XPropertys/XPropertyTypes/Vector3Property.h"
#include "XPropertys/XPropertyTypes/VoidPtrProperty.h"

//System components
#include "XSystemComponents/XGameScreens/GameScreenManagerComponent.h"
#include "XSystemComponents/XGameScreens/GameScreen.h"
#include "XSystemComponents/XOgre/OgreRenderer.h"
#include "XSystemComponents/XOgre/OrbitalCamera.h"
#include "XSystemComponents/XOgre/RendererGameComponent.h"
#include "XSystemComponents/XCEGui/CEGUIComponent.h"
#include "XSystemComponents/XDebugging/DebugVariableTracker.h"
#include "XSystemComponents/XDebugging/CEGuiDebuggingTools.h"
#include "XSystemComponents/XDebugging/FPSTracker.h"

//timing
#include "XTiming/Timer.h"
#include "XTiming/WindowsTimer.h"

//utilities
#include "XUtilities/GameSettings.h"
#include "XUtilities/GeometryHelper.h"
#include "XUtilities/Logger.h"
#include "XUtilities/MathHelper.h"
#include "XUtilities/Random.h"
#include "XUtilities/ScriptParser.h"
#include "XUtilities/Utilities.h"
#include "XUtilities/QuickAndDirtyOgreDebugRenderer.h"

//physics
#include "XPhysics/XOctTree/OctTree.h"
#include "XPhysics/XOctTree/OctTreeIterator.h"
#include "XPhysics/XQuadTree/QuadTree.h"
#include "XPhysics/AABB.h"
#include "XPhysics/Body.h"
#include "XPhysics/Rectangle.h"
#include "XPhysics/PhysicsWorld.h"

// Graphs
#include "XGraphs/Graph.h"
#include "XGraphs/XGraphEdges/GraphEdge.h"
#include "XGraphs/XGraphNodes/GraphNode.h"
#include "XGraphs/XGraphNodes/GraphNode3DPosition.h"
#include "XGraphs/XGraphSearches/GraphSearch.h"
#include "XGraphs/XGraphSearches/GraphSearchAStar.h"
#include "XGraphs/XGraphSearches/GraphSearchDFS.h"

#endif